package string;

public class StringDemo {
    public static void main(String[] args) {


        String s=new String("hello"); //创建了两个对象  1、创建字面量对象,并存到常量池中 2、创建new出来的对象
        String s1="hello"; // 常量池中已经有了  直接复用
        System.out.println(s==s1);  //比较的是地址相等
        System.out.println(s.equals(s1));  //比较的是内容相等






















        /*


        String s1="123abc";  //堆中创建123abc对象,并存到常量池中
        //编译器在编译时,若发现是两个字面量相连接,则直接连接好,并保存结果
        //如下会语句会被编译为:String s2="123abc"
        String s2="123"+"abc";
        System.out.println(s1==s2);
        String s3="123";
        String s4=s3+"abc";
        System.out.println(s1==s4);

         */


    }
}
